Add Makefile
authorFelix Krull <f_krull@gmx.de>
Tue, 9 Oct 2018 20:24:06 +0000 (22:24 +0200)
committerColin Walters <walters@verbum.org>
Fri, 6 May 2022 16:53:53 +0000 (12:53 -0400)
rust-bindings/rust/.gitignore
rust-bindings/rust/Makefile [new file with mode: 0644]

index 5852e9141d67321a6035330b21981b1ba6a50ee3..d1b2bb90bf1f12b430c11c597078b333b682fb3e 100644 (file)
@@ -1,4 +1,5 @@
 /.idea
+/tools
 /*/target
 **/*.rs.bk
 
diff --git a/rust-bindings/rust/Makefile b/rust-bindings/rust/Makefile
new file mode 100644 (file)
index 0000000..0754a87
--- /dev/null
@@ -0,0 +1,45 @@
+all: generate-libostree-sys generate-libostree
+
+.PHONY: update-gir-files
+
+# tools
+tools/bin/gir:
+       cargo install --root tools --git https://github.com/gtk-rs/gir.git -- gir
+
+tools/bin/rustdoc-stripper:
+       cargo install --root tools rustdoc-stripper
+
+# gir generate
+gir/%: tools/bin/gir
+       tools/bin/gir -c conf/$*.toml
+
+generate-libostree-sys: gir/libostree-sys
+
+generate-libostree: gir/libostree update-docs
+
+# docs
+update-docs: tools/bin/gir tools/bin/rustdoc-stripper
+       tools/bin/gir -c conf/libostree.toml -m doc
+       tools/bin/rustdoc-stripper -g -o libostree/vendor.md
+       rm libostree/vendor.md
+
+# gir file management
+update-gir-files: \
+       remove-gir-files \
+       gir-files \
+       gir-files/GLib-2.0.gir \
+       gir-files/Gio-2.0.gir \
+       gir-files/GObject-2.0.gir
+
+remove-gir-files:
+       rm -f gir-files/G*-2.0.gir
+
+gir-files:
+       mkdir -p gir-files
+
+%.gir:
+       curl -o $@ -L https://github.com/gtk-rs/gir-files/raw/master/${@F}
+
+gir-files/OSTree-1.0.gir:
+       echo TODO
+       exit 1